package com.service.mybatis.service;

/**
 * 带删除标记的公共父服务
 * @author ccf
 * @Date 2022/3/14 21:05
 */
public interface ISuperFlagService<T> extends ISuperService<T> {

    /**
     * 当前name是否已经存在 带del_flag
     * @param id 原id
     * @param fieldValue 属性值
     * @return
     */
    boolean isExistNameAndDelFlag(String id, String fieldValue);

    /**
     * 当前属性值是否已经存在 带del_flag
     * @param id 原id
     * @param fieldValue 属性值
     * @param fieldName 属性名称
     * @return
     */
    boolean isExistFieldAndDelFlag(String id, String fieldValue, String fieldName);

    /**
     * 逻辑删除任务
     * @param ids
     */
    void logicRemoveByIds(String...ids);
}
